declare namespace local = "http://www.irisa.fr/bekkers/test";


declare function local:fournisseurParProduit($codep){
	for	
		$fournis in doc("epicerie.xml")/epicerie/listeFournisseur/fournisseur,
		$fournit in doc("epicerie.xml")/epicerie/listeFourniture/fourniture
	where 
		$fournit[P=$codep]
		and $fournit/F = $fournis/F
	return $fournis
};



<result>
{
	for $origine in distinct-values (
		for $i in /epicerie/listeProduit/produit/Origine
		return $i			
	)
	return
		<origine ville="{$origine}">
		{
			for $prod in /epicerie/listeProduit/produit
			where $origine = $prod/Origine
			return		
				<produit>
					<nom>{$prod/Nom_p/text()}</nom>
					{
						for $fournis in local:fournisseurParProduit($prod/P)
						return <fournisseur>{$fournis/Nom/text()}</fournisseur>
					}
				</produit>		
		}		
		</origine>
		
}	
</result>